package com.golden.procedure.service;

import java.util.List;

import com.golden.procedure.domain.WorkCommentDO;
import com.golden.procedure.domain.WorkOrderPhotographyDO;
import com.golden.procedure.query.SchedulingQueryDO;
import com.golden.procedure.query.WorkPhotographyQueryDO;
import com.golden.procedure.result.ResultDO;

/**
 * 拍摄记录管理 <b>Description:</b><br>
 * 
 * @author Reading.Reagan</a>
 * @version 1.0
 * @Note <b>ProjectName:</b> procedure-api <br>
 *       <b>PackageName:</b> com.golden.procedure.service <br>
 *       <b>ClassName:</b> IWorkOrderService <br>
 *       <b>Date:</b> 2018年9月25日 下午2:39:22
 */
public interface IWorkPhotographyService {

	/**
	 * 添加拍摄记录 <b>Description:</b><br>
	 * 
	 * @param queryDO
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月19日 下午4:10:05 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO add(WorkOrderPhotographyDO domain);

	/**
	 * 编辑拍摄记录<b>Description:有id时，通过id更新；无id时，通过席位id进行条件更新</b><br>
	 * 
	 * @param domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月25日 下午2:39:40 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO edit(WorkOrderPhotographyDO domain);

	/**
	 * 批量取消拍摄预约，删除拍摄记录数据<b>Description:</b><br>
	 * 
	 * @param domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月25日 下午2:39:40 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO delete(List<Integer> seatIDs);

	/**
	 * 查询摄控记录 <b>Description:</b><br>
	 * 
	 * @param queryDO
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月19日 下午4:10:05 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO querySchuduling(SchedulingQueryDO queryDO);

	/**
	 * 查询拍摄列表 <b>Description:</b><br>
	 * 
	 * @param queryDO
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月19日 下午4:10:05 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO query(WorkPhotographyQueryDO queryDO);

	/**
	 * 记录拍摄结果 <b>Description:拍摄完成时，更新记</b><br>
	 * 
	 * @param WorkCommentDO
	 *            domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月19日 下午4:10:05 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO record(WorkCommentDO domain);

	/**
	 * 查看单个拍摄记录 <b>Description:</b><br>
	 * 
	 * @param WorkCommentDO
	 *            domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月19日 下午4:10:05 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO get(Integer id);

}
